// utils/request.js

// 封装uni.request方法
const request = (path, data = {}, method = "POST") => {
	const baseUrl = "http://dc.tianmingzt.top";
	uni.showLoading({
		title: '加载中...',
		mask: true // 显示透明蒙层，防止触摸穿透
	});
	return new Promise((resolve, reject) => {

		uni.request({
			url: baseUrl + path,
			method: method,
			data: data,
			header: {
				'Content-Type': 'application/json'
			},
			success: (res) => {
				// {code: 200, msg: "您的提交已收到，稍后将有工作人员致电请注意接听电话!"}
				//201跳转 200直接展示
				if (res.statusCode === 200) {
					console.log("请求返回：", res.data)
					if (res.data.code === 200) {
						resolve(res.data);
					} else if (res.data.code === 201) {
						resolve(res.data);
					} else {
						uni.showToast({
							title: res.data.msg,
							icon: 'none'
						});
						reject(new Error(`请求失败，错误码：${res.data.code}`));
					}


				} else {
					uni.showToast({
						title: '请求服务器失败！',
						icon: 'none'
					});
					reject(new Error(`请求失败，状态码：${res.statusCode}`));
				}
			},
			fail: (err) => {
				reject(err);
				console.log("网络请求失败", err);
				uni.showToast({
					title: '网络请求失败！',
					icon: 'none'
				});
			},
			complete: () => {
				uni.hideLoading();
			}
		});
	});
};

// 导出封装好的request方法
export default request;